A 2-D environment contains ants that move around, releasing chemical pheromones as they move.
Each cell in the environment contains a certain amount of pheromone, and some cells contain single ants.
At each time step in the simulation, each ant will attempt to move into the neighboring cell that contains the most pheromone. It does this by first facing toward the cell into which it wishes to move, then moving into the cell.
If more than one neighboring cell contains the most pheromone, the ant will choose among those cells at random.
Cells that contain no ants will lose a single point of pheromone each time step. Those that contain an ant will have no change to the amount of pheromone. If an ant leaves a cell, that cell will gain a single point of pheromone.
The environment also contains a single line of blocked squares on which ants are unable to move. This line can be up to 10 squares long, and may start at any place on the environment.